package com.moodbox.server.common.annotation;

import com.moodbox.server.common.enums.UserRoleEnum;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 角色权限注解
 * 用于标记需要特定角色权限的方法
 */
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface RequireRole {
    /**
     * 所需的最小角色
     * @return 用户角色枚举
     */
    UserRoleEnum value() default UserRoleEnum.ADMIN;

    /**
     * 是否需要严格匹配角色
     * @return 是否严格匹配
     */
    boolean strict() default false;
} 